James "Jim" McGregor (b. 1887, Ladybrand – April 20, 1950, Benoni, Gauteng) was a South African boxer who competed in the 1920 Summer Olympics.
In 1920, he was eliminated in the first round of the light heavyweight class after losing his fight to Edwin Schell.